﻿using Domain.Entitys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Domain.Repositorys
{
    public interface ISSRepository
    {
        /// <summary>
        /// 添加薪酬标准信息表
        /// </summary>
        /// <param name="sS"></param>
        /// <returns></returns>
        Task<int> SSAddAsync(SS sS);

        /// <summary>
        /// 根据编号查询薪酬信息标准表
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<SS> SSSelectByIdAsync(string id);

        /// <summary>
        /// 查询等待复核数据
        /// </summary>
        /// <returns></returns>
        FenYe<SS> SSSelectFenYe(FenYe<SS> fenYe,string state);

        /// <summary>
        /// 根据薪酬标准主键查询数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<SS> SSSelectBySsdId(int id);

        /// <summary>
        /// 通过复核
        /// </summary>
        /// <param name="sS"></param>
        /// <returns></returns>
        Task<int> SSThroughReviewAsync(SS sS);

        /// <summary>
        /// 多条件分页查询薪酬标准
        /// </summary>
        /// <param name="fenYe"></param>
        /// <param name="id">薪酬编号</param>
        /// <param name="name">关键人</param>
        /// <param name="startDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <returns></returns>
        FenYe<SS> SSSelectWhere(FenYe<SS> fenYe,string id,string name,string startDate,string endDate,string state);
        FenYe<SS> SSSelectWhere2(FenYe<SS> fenYe,string id,string name,string startDate,string endDate,string state);

        /// <summary>
        /// 修改变更信息
        /// </summary>
        /// <param name="sS"></param>
        /// <returns></returns>
        Task<int> SSChangeUpdateAsync(SS sS);

        /// <summary>
        /// 查询全部薪酬标准信息
        /// </summary>
        /// <returns></returns>
        Task<List<SS>> SSFill();
        Task<List<SS>> GetSS();
    }
}
